package com.hst.capacity.domain.model.response.specialcar;

import com.hst.capacity.domain.model.entity.order.base.BaseOrderSettlementEntity;
import com.hst.capacity.domain.model.entity.order.intercity.IcOrderSettlementViewEntity;
import com.hst.capacity.domain.model.entity.order.intercity.IntercityOrderSettlementEntity;
import com.hst.capacity.domain.model.entity.order.specialcar.SpCarOrderSettlementEntity;
import com.hst.capacity.domain.model.entity.order.specialcar.SpCarOrderSettlementViewEntity;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Data
@NoArgsConstructor
public class SpSettlementViewVO {

    private String idOrderSettlement;
    private String id_order_settlement_view;
    private String idOrder;//订单ID
    private String idCoupon;//使用优惠券ID
    private Float orderMoney;//订单费用
    private Float cashPrice;//现金支付金额
    private String lineName;//电子支付机构
    private Float linePrice;//电子支付金额
    private String posName;//POS机支付机构
    private Float posPrice;//POS机支付金额
    private Float orderLongDistanceMoney;//POS机支付金额
    private Float orderTip;//小费
    private Float orderCoupon;//订单优惠券减免金额
    private Float orderOther;//其他费用
    private Float orderRoadMoney;//路桥收费
    private Float advancement;//司机垫付费用
    private Float orderTotal;//订单总计费
    private Float booktip;//预约服务费
    private Float peakupPrice;//高峰时段时间加价金额
    private Float nightupPrice;//夜间时段里程加价金额
    private Float otherupPrice;//其他加价金额
    private LocalDateTime payTime;//乘客结算时间
    private String memo;//备注
    private Integer paymentType;//支付类型（0：现金  1：月结代扣  2：余额  3：支付宝  4：微信  5：ApplePay  6：银联  99：其他）

    private String idFranchisee;//运力商ID
    private String franchiseeShortName;//运力商简称
    private LocalDateTime orderCreateTime;//订单创建时间
    private String orderBizName;//订单业务类型（如：站点驳车，市内快车）
    private String idMember;//用户ID
    private String userMobile;//会员手机（下单人）
    private String userName;//会员名字
    private String idDriver;//司机ID
    private String driverMobile;//司机手机号
    private String driverName;//司机名字
    private String startAddress;//订单起始地（省市区）
    private String endAddress;//订单目的地（省市区）
    private String dropOffArea;//下车地点
    private Float orderDistance;//实际行程距离
    private int orderSpendTime;//实际花费时间
    private Float driverIncome;//司机入帐
    private Float driverIncomeRate;//司机入帐比例
    private Float franchiseeIncome;//运力商入帐
    private Float franchiseeIncomeRate;//运力商入帐比例
    private Float platformIncome;//平台入帐
    private Float platformIncomeRate;//平台入帐比例
    private Float otherIncome;//其他分配
    private String orderMemo;//备注
    private Integer paymentStatus;//支付状态(0:未支付 1：已支付)

    public SpSettlementViewVO(SpCarOrderSettlementViewEntity exOsviewEntity, SpCarOrderSettlementEntity exOsEntity) {
        this.idOrderSettlement = exOsEntity.getIdOrderSettlement();
        this.idOrder = exOsEntity.getIdOrder();
        this.idCoupon = exOsEntity.getIdCoupon();
        this.orderMoney = exOsEntity.getOrderMoney();
        this.cashPrice = exOsEntity.getCashPrice();
        this.lineName = exOsEntity.getLineName();
        this.linePrice = exOsEntity.getLinePrice();
        this.posName = exOsEntity.getPosName();
        this.posPrice = exOsEntity.getPosPrice();
        this.orderLongDistanceMoney = exOsEntity.getOrderLongDistanceMoney();
        this.orderTip = exOsEntity.getOrderTip();
        this.orderCoupon = exOsEntity.getOrderCoupon();
        this.orderOther = exOsEntity.getOrderOther();
        this.orderRoadMoney = exOsEntity.getOrderRoadMoney();
        this.advancement = exOsEntity.getAdvancement();
        this.orderTotal = exOsEntity.getOrderTotal();
        this.booktip = exOsEntity.getBooktip();
        this.peakupPrice = exOsEntity.getPeakupPrice();
        this.nightupPrice = exOsEntity.getNightupPrice();
        this.otherupPrice = exOsEntity.getOtherupPrice();
        this.payTime = exOsEntity.getPayTime();
        this.memo = exOsEntity.getMemo();
        this.paymentType=exOsEntity.getPaymentType();

        this.id_order_settlement_view = exOsviewEntity.getId_order_settlement_view();
        this.idFranchisee = exOsviewEntity.getIdFranchisee();
        this.franchiseeShortName = exOsviewEntity.getFranchiseeShortName();
        this.orderCreateTime = exOsviewEntity.getOrderCreateTime();
        this.orderBizName = exOsviewEntity.getOrderBizName();
        this.idMember = exOsviewEntity.getIdMember();
        this.userMobile = exOsviewEntity.getUserMobile();
        this.userName = exOsviewEntity.getUserName();
        this.idDriver = exOsviewEntity.getIdDriver();
        this.driverMobile = exOsviewEntity.getDriverMobile();
        this.driverName = exOsviewEntity.getDriverName();
        this.startAddress = exOsviewEntity.getStartAddress();
        this.endAddress = exOsviewEntity.getEndAddress();
        this.dropOffArea = exOsviewEntity.getDropOffArea();
        this.orderDistance = exOsviewEntity.getOrderDistance();
        this.orderSpendTime = exOsviewEntity.getOrderSpendTime();
        this.driverIncome = exOsviewEntity.getDriverIncome();
        this.driverIncomeRate = exOsviewEntity.getDriverIncomeRate();
        this.franchiseeIncome = exOsviewEntity.getFranchiseeIncome();
        this.franchiseeIncomeRate = exOsviewEntity.getFranchiseeIncomeRate();
        this.platformIncome = exOsviewEntity.getPlatformIncome();
        this.platformIncomeRate = exOsviewEntity.getPlatformIncomeRate();
        this.otherIncome = exOsviewEntity.getOtherIncome();
        this.orderMemo = exOsviewEntity.getMemo();
        this.paymentStatus = exOsviewEntity.getPaymentStatus();

    }

}
